package com.ctg.payroll2.dao.xlsImport;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author sami
 * 
 */
@SuppressWarnings("unchecked")
public interface XlsImportDAO {
	/**
	 * 导入数据
	 * 
	 * @param o
	 * @param object
	 */
	public void importData(Object o, Object... object);

	/**
	 * 删除临时表
	 * 
	 * @param o
	 */
	public void deleteTempData(Object o);

	public List<Object> getMapping(Object o);

	/**
	 * 临时表到正式表
	 * 
	 * @param o
	 */
	public void insertJTmp2Formal(Class o);

	/**
	 * 临时表到正式表/带参数
	 * 
	 * @param o
	 */
	public void insertJTmp2Formal(Class o, HashMap<String, Object> paraMap);

	/**
	 * @param entityClass
	 * @param parameterObject
	 * @param start
	 * @param limit
	 * @param o
	 * @return
	 */
	public com.ctg.platform.util.Page pagedQuery_temp(Class entityClass,
			Map parameterObject, int start, int limit, Object... o);

	/**
	 * 执行本地sql语句
	 * 
	 * @param obj
	 * @return
	 */
	public Object executeSql(Object... obj);

	/**
	 * 查询薪资导入临时表的数据
	 * 
	 * @param parameterObject
	 * @return
	 */
	public List<HashMap<String, Object>> getDataforMap(Object parameterObject);

	/**
	 * 修改imp_table(薪资导入临时表)的empoyee_id
	 */
	public void update_imp_table(HashMap<String, Object> paramap);

	/**
	 * 导入薪资项目是否唯一,
	 * 
	 * @param paraMap
	 *            条件:employee_id,period,company_code,pay_classitem_id
	 * @return true(imp) , false (can't imp)
	 */
	public Boolean payClassIsOnly(Object paraMap);

	/**
	 * 社保导入是否唯一
	 * 
	 * @param paraMap
	 * @return
	 */
	public Boolean socialIsOnly(Object paraMap);

	/**
	 * 查询导入雇员是否唯一
	 * 
	 * @param obj
	 * @return
	 */
	public List<Map<String, Object>> isOnlyByempCsCode(Object... obj);

	/**
	 * 雇员导入从临时表到正式表之前修改 政治面貌,部门,婚姻状况等下拉框形式的值为对应数据库的值
	 * 
	 * @return
	 */
	public Integer updateEmpcomboxMapping();
}
